#pragma once
#include <stdint.h>
#include <stdbool.h>
#include "driver/rmt_tx.h"

/* LED状态枚举定义 */
typedef enum {
    LED_STATE_UNPAIRED,   // 未配对状态（蓝色呼吸）
    LED_STATE_IN_CALL,    // 通话中（绿色闪烁）
    LED_STATE_MUSIC,      // 音乐播放（节奏闪烁）
    LED_STATE_IDLE        // 空闲状态（彩虹效果）
} led_state_t;

typedef struct {
    uint8_t brightness; // 0-100%
    uint16_t hue;       // 0-360度色相
    uint8_t pattern;    // 效果模式
} music_led_params_t;


#define LED_GPIO_NUM         GPIO_NUM_12  // WS2812数据引脚
#define LED_NUM_PIXELS       1            // LED灯珠数量
#define LED_RESOLUTION_HZ    10000000     // RMT时钟频率


/* 函数声明 */
void led_init(void);                      // LED初始化
void led_set_state(led_state_t new_state);// 设置LED状态
void led_update_task(void *arg);
void led_set_music_params(uint8_t brightness, uint16_t hue);